首页 > 试题广场 >

字符串分隔

[编程题]字符串分隔
  • 热度指数:1149539 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解

•输入一个字符串,请按长度为8拆分每个输入字符串并进行输出;

•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。

输入描述:

连续输入字符串(每个字符串长度小于等于100)



输出描述:

依次输出所有分割后的长度为8的新字符串

示例1

输入

abc

输出

abc00000
s = input()
print(*[s[i:i+8].ljust(8,'0') for i in range(0,len(s),8)],sep='\n')

编辑于 2024-04-15 17:37:32 回复(0)
s1 = input()
if len(s1) == 8:
    print(s1)
if len(s1) < 8:
    num1 = int(8 - len(s1))
    for i in range(1,num1+1):
        s1 = s1 + "0"
        i = i + 1
    print(s1)
if len(s1)>8:
    dif=(int(len(s1)/8)+1)*8-len(s1)
    if dif!=8:
        for i in range(dif):
            s1=s1+"0"
    for i in range(len(s1)):
        print(s1[(0+8*i):(8+8*i)])

编辑于 2024-03-14 17:13:46 回复(0)
str1 = input()

def strsplit8(aimstr):
    if aimstr:
        strlen = len(aimstr)
        if strlen < 8:
            zerocount = "0"* (8-strlen)
            print(f"{aimstr}{zerocount}")
        else:
            print(aimstr[0:8])
            strsplit8(aimstr[8:])
strsplit8(str1)
发表于 2023-10-24 23:38:13 回复(0)
import sys

s1 = input()
i = 0
j = 7
while True:
    if len(s1)<(i+1):
        break
    if len(s1)>j:
        print(s1[i:j+1])
    else:
        # 方法一
        # 先将字符串倒叙,然后使用rjust()在字符串左边插入,然后再倒叙回来
        # rjsut(width[,fillchar])width是插入之后字符串的总长度,fillchar是填充字符,默认是空格
        s2=s1[::-1]
        s1=(s2.rjust((j+1),'0'))[::-1]

        # 方法二,用for循环添加
        # a=len(s1)
        # for n in range(8-(a-i)):
        #     s1=s1+'0'
        print(s1[i:])
    i+=8
    j+=8

发表于 2023-06-28 10:54:22 回复(0)
str1 = input()
lens = len(str1)
m = lens % 8    
if m != 0:      #字符串对8取余,不为0说明字符串按8位分割后最后一个字符串不是8位,需要将字符串末尾用0补齐
    str1 += '0'*(8-m)
for i in range(len(str1)//8):   #对补齐后的字符串除以8取商,计算可以分割为几个8位字符串,对应循环几次,每次以8的长度切片
    print(str1[8*i:8*i+8])

发表于 2023-03-30 23:29:54 回复(0)
str=input()
while len(str)>8:
    print(str[:8])
    str=str[8:]
print(str.ljust(8,'0'))
发表于 2023-03-10 19:52:04 回复(0)
test_str = input().strip()
n = len(test_str)
if n > 8:
    i = 0
    while i <= n - 1:
        if n - i >= 8:
            print(test_str[i:i + 8])
            i += 8
        else:
            print(test_str[i:] + (8 - len(test_str[i:])) * "0")
            break
else:
    print(test_str + (8 - n) * "0")
发表于 2023-03-09 19:47:17 回复(0)
这题不是说不超过100字符 最后一组数据都一百多字符了 我还不能限制100
发表于 2023-02-19 15:34:18 回复(0)
import sys

in_str = input()
times_8 = len(in_str)//8
if len(in_str)%8==0:
    for i in range(times_8):
        print(in_str[i*8:i*8+8])
elif times_8 > 0:
    for i in range(times_8):
        print(in_str[i*8:i*8+8])
        if i + 1 == times_8:
            print(in_str[(i+1)*8:]+'0'*(8-len(in_str)%8))
else:
    print(in_str+'0'*(8-len(in_str)))
    

发表于 2023-02-11 17:24:55 回复(0)
str1=input()
n=len(str1)

if n%8==0:
    for i in range(n//8):
        print(str1[i*8:(i+1)*8])
else:
    for i in range(n//8):
        print(str1[i*8:(i+1)*8])
    #print(str1[n//8*8:]+'0'*(8-n%8))
    print(str1[n//8*8:].ljust(8,'0'))

发表于 2023-02-01 16:54:21 回复(0)
import re
str1 = input()
str1 = str1 + '0'*7
str2 = re.findall(r'.{8}', str1)
for i in str2:
    print(i)
1、先直接在需要切割的字符串后补7个0
2、用正则表达式按8个字符一组进行分割
3、最后几个字符的长度一定不满足,舍去
发表于 2022-09-08 11:12:41 回复(0)
import sys
str = sys.stdin.readline().strip()
if len(str) >= 8:
    for i in range(len(str)//8):
        print(str[0+i*8:8+i*8])
if len(str)%8 != 0:
    print(str[-(len(str)%8):]+(8-len(str)%8)*'0')
发表于 2022-09-05 15:46:23 回复(0)
a=input()
length1=len(a)
c=[]
acc=0
b=[]
for i in a: 
    if acc<8:
        b.append(i)
        acc=acc+1
    else:
        c.append(b)    
        b=[]
        b.append(i)
        acc=1  
lengc=len(c)
diff=int(length1)-int(lengc)*int(8)
for i in range(int(lengc)*int(8)-1,-1):
    b.append(a[i])
c.append(b)
if len(c[-1])//8==0:
    addmore=8-len(c[-1])
    for i in range(addmore):
        c[-1].append('0')
for i in c:
    print(''.join(map(str,i)),end='\n')
发表于 2022-09-03 20:12:01 回复(1)
str0=input("")
str1=""
for i in str0:
    str1 = str1+i
    if len(str1) == 8:
        print(str1)
        str1=""
if str1:
    for i in range(8-len(str1)):
        str1+="0"
    print(str1)
发表于 2022-09-02 23:11:41 回复(0)
s=input()
if len(s)<=8:
    print(s+'0'*(8-len(s)))
else:
    while len(s)>8:
        print(s[:8])
        s=s[8:]
    print(s+'0'*(8-len(s)))
发表于 2022-08-27 22:06:48 回复(0)
a = input() while len(a)>8:  print(a[:8])
    a=a[8:] print(a+"0"*(8-len(a)))

发表于 2022-08-24 16:11:25 回复(0)
s = input()
for i in range(0, len(s), 8):
    print(s[i: i+8].ljust(8, "0"))
发表于 2022-08-24 12:37:16 回复(0)
x1 = input()
x1_len = len(x1)
output = [0 for i in range(8)]
for i in range(x1_len):
    output[i] = x1[i]
str1 = "".join(output[0:x1_len])
str2 = "".join([str(_) for _ in output[x1_len:len(output)]])
str3 = str1+str2
print(str3)
有大神指点一下吗
发表于 2022-08-23 02:37:42 回复(0)
a=input()
if len(a)%8==0:
    pass
else:
    b=8-len(a)%8
    for i in range(b):
        a=a+'0'
for i in range(len(a)//8):
    print(a[(i)*8:(i+1)*8])

发表于 2022-08-19 15:58:24 回复(0)

问题信息

难度:
164条回答 135765浏览

热门推荐

通过挑战的用户

查看代码